home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 19 / Amiga Plus Leser CD 19.iso / Tools / ShareMailGiftware / proof.library / dev / autodocs / proof.autodoc
Encoding:
Text File  |  2002-11-17  |  38.4 KB  |  1,260 lines

  1. TABLE OF CONTENTS
  2.  
  3. proof.library/--background--
  4. proof.library/--history--
  5. proof.library/AllocProofA
  6. proof.library/AllocProofOwnerA
  7. proof.library/AllocProofOwnerEntry
  8. proof.library/ConvertFromProofA
  9. proof.library/ConvertToProofA
  10. proof.library/FreeProof
  11. proof.library/FreeProofOwner
  12. proof.library/GetProofAttrsA
  13. proof.library/GetProofOwnerAttrsA
  14. proof.library/GetProofOwnerEntry
  15. proof.library/IsProofA
  16. proof.library/IsProofFromLockA
  17. proof.library/LoadProofA
  18. proof.library/LoadProofFromBPTRA
  19. proof.library/LoadProofFromLockA
  20. proof.library/LoadProofOwnerA
  21. proof.library/SaveProofA
  22. proof.library/SaveProofOwnerA
  23. proof.library/SetProofAttrsA
  24. proof.library/SetProofOwnerAttrsA
  25. proof.library/SetProofOwnerEntry
  26. proof.library/ValidProofDesc
  27. proof.library/--background--                     proof.library/--background--
  28.  
  29.    PURPOSE
  30.  To create small 'proof' sized images of pictures for display with the
  31.  option of storing them to disk in a compact, fast format, suitable for
  32.  viewing on any target display system. 
  33.  
  34.    COPYRIGHT
  35.  The copyright in this library is owned by Paul Huxham.
  36.  
  37.  PhotoAlbum is Copyright 1996-1998 by Helmut Hoffmann
  38.  
  39.    DISCLAIMER
  40.  proof.library and its associated files are supposed to be a proof
  41.  creation/maintenance system. Even though every effort has been made to
  42.  make proof.library as stable and functional as possible, I cannot rule
  43.  out the possibility that proof.library may have bugs that have side
  44.  effects (possibly harmful) on your system.
  45.  
  46.  I hereby reject any liability or responsibility for these or any other
  47.  consequences from the use of proof.library whatsoever. This includes, but
  48.  is not limited to, damage to your equipment, to your data, personal
  49.  injuries, financial loss or any other kinds of side effects.
  50.  
  51.  proof.library is provided as-is. This means I do not guarantee that
  52.  proof.library is fit for any specific purpose and I do not guarantee any
  53.  bug fixes, updates or help during error recovery.
  54.  
  55.    DISTRIBUTION
  56.  proof.library should be distributed at no charge to the end user. It may
  57.  be included on Aminet CDs.
  58.  
  59.  The author retains all rights to the enclosed software. Payment is not
  60.  required for the use of proof.library.
  61.  
  62.  For ANY COMMERCIAL APPLICATION using proof.library, contact the author
  63.  for further information concerning distribution.
  64.  
  65.    REQUIREMENTS
  66.  A minimum of Kickstart 2.0, 68020 CPU is required to use proof.library.
  67.  jpeg.library (by the same author) is required IF you intend to use the
  68.  default proof body format. (You most probably will!)
  69.  
  70.    COMPLIER
  71.  proof.library was written and compiled using CED V3.5 and SAS/C 6.55 on
  72.  an Amiga 4000/060. CyberGuard was used to detect/correct programming
  73.  errors.
  74.  
  75.    BUGS
  76.  Should you find any bugs, please report them so that they can be fixed.
  77.  Likewise any suggestions for improvment of the library should be
  78.  forwarded so that they can be addressed.
  79.  
  80.    THANKYOUS
  81.  Many thanks to
  82.    Dinh Thi Kim Tuyen
  83.      -whom I cannot thank enough for showing me what I can be when I let
  84.       go of the darkness. I love you.
  85.  
  86.    Steve Quartly
  87.      - For pushing me into corners I wouldn't normally go, to teach me to
  88.        see things where I would normally give up.
  89.  
  90.    AUTHOR
  91.   You can contact the author via:
  92.     email: paulhuxham@yahoo.com
  93.  
  94. proof.library/--history--                           proof.library/--history--
  95.  
  96.  V2.8
  97.   > Proofs are now linked but default, otherwise proofs that are created in
  98.     memory but not saved do not work correctly.
  99.  
  100.  V2.7
  101.   > Non linked proofs can now be correctly updated, before duplicate proofs
  102.     were createdwith new names.
  103.  
  104.   > The default setting for TestProofByProtection is now FALSE (before it
  105.     was TRUE). This negates the need for any environment variables under
  106.     usual circumstances. It can still however be overridden by the
  107.     programmer.
  108.  
  109.  V2.6
  110.   > Added a global imagegeneric.h file and converted all defines across to
  111.     the new format. If you cant be bothered changing your source code, just
  112.     add "#define PROOF_COMPAT" before you include proof.h.
  113.  
  114.  V2.5
  115.   > Fixed a bug where proofs were not being updated when some attributes
  116.     were changed (some worked, others didnt).
  117.  
  118.  V2.4
  119.   > Fixed a bug where photoalbum thumbnails with jpeg image data were not
  120.     always detected correctly.
  121.  
  122.  V2.3
  123.   > Added support for the longer filenames provided by OS 3.5.
  124.  
  125.  V2.2
  126.   > Added the PFN_ProofImagePath to the SetProofAttrs() function.
  127.  
  128.  V2.1
  129.   > Fixed a bug where a non-linked loaded proof didn't contain an
  130.     ImagePath. Proofs created in memory did.
  131.  
  132.  V2.0
  133.   > Fixed an oversight where the proofs minimum size was 10 x 10. Now the
  134.     minimum size is 1 x 1.
  135.  
  136.   > Now you can pass a pointer to a NULL string in PFN_ProofPath and the
  137.     generated proof will be nonlinked. This is the same as not passing in
  138.     this tag at all. ("PFN_ProofPath, NULL" is the same as not passing in
  139.     this tag.)
  140.  
  141.   > Added a new tag PFN_ProofLinked. If you use GetProofAttrs() with this
  142.     tag, you can tell if the proof is linked or nonlinked.
  143.  
  144.  V1.3
  145.   > Fixed a bug where if ConvertToProof() was called more than once on
  146.     the same proof pointer, memory was lost.
  147.  
  148.  V1.2
  149.   > Fixed a bug where if the original proof is a photoalbum thumbnail,
  150.     getting the PFN_TextImageDesc returned an invalid pointer.
  151.  
  152.  V1.1
  153.   > Fixed a bug where if the original format was greyscale, getting the
  154.     image description returned a stray pointer to memory.
  155.  
  156.   > Added an environment variable to allow switching off the check by
  157.     protection bits. This fixes problems with filesystems that dont store
  158.     or return protection bits correctly, eg CDs. in ENV:proof.library, make
  159.     a variable called 'Test_Proof_By_Protection" and set it it 'yes' or
  160.     'no'. Use a value of no to skip testing the protection bits.
  161.  
  162.   > Fixed an enforcer hit, if the filetype stored by the calling
  163.     application was above the specified range. (Was supposed to allow for
  164.     custom image format descriptions.)
  165.  
  166.  V1.0
  167.   > Initial release.
  168.  
  169. proof.library/AllocProofA                           proof.library/AllocProofA
  170.  
  171.    NAME
  172.  AllocProofA -- Allocate memory space for a proof structure
  173.  AllocProof -- Varargs stub for AllocProofA
  174.  
  175.    SYNOPSIS
  176.  err = AllocProofA( pf, taglist )
  177.                     a0  a1
  178.  
  179.  ULONG AllocProofA( struct Proof **pf, struct TagItem *taglist )
  180.  
  181.  err = AllocProof( pf, tag1, ... )
  182.  
  183.  ULONG AllocProof( struct Proof **pf, ULONG tag1, ... )
  184.  
  185.    FUNCTION
  186.  Allocates the necessary memory space for a proof structure. Should be
  187.  matched with a call to FreeProof().
  188.  
  189.    INPUTS
  190.  pf      - pointer to a struct Proof pointer.
  191.  taglist - pointer to an optional tag list specifying how to initialize
  192.            the data structure returned by this function. (For a complete
  193.            list of available tags, see the SetProofAttrsA() function).
  194.  
  195.    RESULT
  196.  err - returns PFERR_NONE if successful, otherwise an error code.
  197.        See proof.h for error code definitions.
  198.  
  199.    NOTE
  200.  If you intend to use the PFN_MemoryPool tag, you MUST pass the same
  201.  memory pool pointer (result from CreatePool) to every function called in
  202.  proof.library.
  203.  
  204.    WARNING
  205.  
  206.    BUGS
  207.  
  208.    SEE ALSO
  209.  FreeProof(), SetProofAttrsA()
  210.  
  211. proof.library/AllocProofOwnerA                 proof.library/AllocProofOwnerA
  212.  
  213.    NAME
  214.  AllocProofOwnerA -- Allocate memory space for a proof owner structure
  215.  AllocProofOwner -- Varargs stub for AllocProofOwnerA
  216.  
  217.    SYNOPSIS
  218.  err = AllocProofOwnerA( po, taglist )
  219.                          a0  a1
  220.  
  221.  ULONG AllocProofOwnerA( struct ProofOwner **po, struct TagItem *taglist )
  222.  
  223.  err = AllocProofOwner( po, tag1, ... )
  224.  
  225.  ULONG AllocProofOwner( struct ProofOwner **po, ULONG tag1, ... )
  226.  
  227.    FUNCTION
  228.  Allocates the necessary memory space for a proof owner structure. Should
  229.  be matched with a call to FreeProofOwner().
  230.  
  231.    INPUTS
  232.  po      - pointer to a struct ProofOwner pointer.
  233.  taglist - pointer to an optional tag list.
  234.  
  235.    RESULT
  236.  err - returns PFERR_NONE if successful, otherwise an error code.
  237.        See proof.h for error code definitions.
  238.  
  239.    NOTE
  240.  If you intend to use the PFN_MemoryPool tag, you MUST pass the same
  241.  memory pool pointer (result from CreatePool) to every function called in
  242.  proof.library.
  243.  
  244.    WARNING
  245.  
  246.    BUGS
  247.  
  248.    SEE ALSO
  249.  FreeProofOwner()
  250.  
  251. proof.library/AllocProofOwnerEntry         proof.library/AllocProofOwnerEntry
  252.  
  253.    NAME
  254.  AllocProofOwnerEntry -- Allocate a new bit for an owner entry
  255.  
  256.    SYNOPSIS
  257.  result = AllocProofOwnerEntry( po, group, name, bitnum )
  258.                                 a0  d0     a1    a2
  259.  
  260.  ULONG AllocProofOwnerEntry( struct ProofOwner *po, BYTE group,
  261.                            char *name, LONG *bitnum )
  262.  
  263.    FUNCTION
  264.  Allocates a new bit for an owner entry. 
  265.  
  266.    INPUTS
  267.  po     - Pointer to a struct ProofOwner.
  268.  group  - A group number from 0 to 3.
  269.  name   - The name to set the entry to.
  270.  bitnum - A pointer to a LONG to store the bit number allocated for you.
  271.  
  272.    RESULT
  273.  err - returns PFERR_NONE if successful (bitnum is undefined), otherwise
  274.        an error code. See proof.h for error code definitions.
  275.  
  276.    WARNING
  277.  
  278.    BUGS
  279.  
  280.    SEE ALSO
  281.  GetProofOwnerEntry()
  282.  
  283. proof.library/ConvertFromProofA               proof.library/ConvertFromProofA
  284.  
  285.    NAME
  286.  ConvertFromProofA -- Convert proof data to a target format
  287.  ConvertFromProof -- Varargs stubs for ConvertFromProofA
  288.  
  289.    SYNOPSIS
  290.  err = ConvertFromProofA( pf, taglist )
  291.                           a0  a1
  292.  
  293.  ULONG ConvertFromProofA( struct Proof *pf, struct TagItem *taglist )
  294.  
  295.  err = ConvertFromProof( pf, tag1, ... )
  296.  
  297.  ULONG ConvertFromProofA( struct Proof *pf, ULONG tag1, ... )
  298.  
  299.    FUNCTION
  300.  Convert proof image data to a destination format. Currently only RGB
  301.  triplet destination buffers are supported.
  302.  
  303.    INPUTS
  304.  pf      - pointer to a struct Proof.
  305.  taglist - pointer to an optional tag list specifying how to convert the
  306.            proof data.
  307.  
  308.       PFN_RGBTripletBuffer - Specifies a pointer to store the RGB
  309.           triplets into.
  310.  
  311.    RESULT
  312.  err - returns PFERR_NONE if successful, otherwise an error code.
  313.        See proof.h for error code definitions.
  314.  
  315.    WARNING
  316.  
  317.    BUGS
  318.  
  319.    SEE ALSO
  320.  
  321. proof.library/ConvertToProofA                   proof.library/ConvertToProofA
  322.  
  323.    NAME
  324.  ConvertToProofA -- Convert an image to thumbnail data
  325.  ConvertToProof -- Varargs stubs for ConvertToProofA
  326.  
  327.    SYNOPSIS
  328.  err = ConvertToProofA( pf, taglist )
  329.                         a0  a1
  330.  
  331.  ULONG ConvertToProofA( struct Proof *pf, struct TagItem *taglist )
  332.  
  333.  err = ConvertToProof( pf, tag1, ... )
  334.  
  335.  ULONG ConvertToProofA( struct Proof *pf, ULONG tag1, ... )
  336.  
  337.    FUNCTION
  338.  Convert an buffer to a proof image. Currently only RGB triplet buffers
  339.  are supported.
  340.  
  341.    INPUTS
  342.  pf      - pointer to a struct Proof.
  343.  taglist - pointer to an optional tag list specifying how to convert the
  344.            image data. You may also pass in any header tags as described
  345.            in GetProofAttrs().
  346.  
  347.       PFN_RGBTripletBuffer - Specifies a pointer to the first red component
  348.           of the RGB triplets, stored contiguously in memory. (The width
  349.           and height of the buffer data must be passed either with this
  350.           function, or in AllocProofA().
  351.  
  352.       PFN_JFIFQuality - A jpeg save quality value (0-100) to use with
  353.           jpeg.library if saving the proof in jpeg format (default 85).
  354.  
  355.       PFN_MemoryPool - A memory pool pointer to allocate memory for the
  356.           proof image.
  357.  
  358.    RESULT
  359.  err - returns PFERR_NONE if successful, otherwise an error code.
  360.        See proof.h for error code definitions.
  361.  
  362.    WARNING
  363.  
  364.    BUGS
  365.  
  366.    SEE ALSO
  367.  
  368. proof.library/FreeProof                               proof.library/FreeProof
  369.  
  370.    NAME
  371.  FreeProof -- Free the memory space allocated for a proof
  372.  
  373.    SYNOPSIS
  374.  FreeProof( pf, taglist )
  375.             a0  a1
  376.  
  377.  void FreeProof( struct Proof **pf, struct TagItem *taglist )
  378.  
  379.    FUNCTION
  380.  Frees all memory space associated with a proof structure. It is safe to
  381.  call this function with a NULL proof pointer.
  382.  
  383.    INPUTS
  384.  pf - pointer to a struct Proof pointer.
  385.  taglist - pointer to an optional tag list.
  386.  
  387.    RESULT
  388.  
  389.    NOTE
  390.  If you intend to use the PFN_MemoryPool tag, you MUST pass the same
  391.  memory pool pointer (result from CreatePool) to every function called in
  392.  proof.library.
  393.  
  394.    WARNING
  395.  
  396.    BUGS
  397.  
  398.    SEE ALSO
  399.  AllocProofA()
  400.  
  401. proof.library/FreeProofOwner                     proof.library/FreeProofOwner
  402.  
  403.    NAME
  404.  FreeProofOwner -- Free the memory space allocated for a proof owner
  405.  
  406.    SYNOPSIS
  407.  FreeProofOwner( po, taglist )
  408.                  a0  a1
  409.  
  410.  void FreeProofOwner( struct ProofOwner **po, struct TagItem *taglist )
  411.  
  412.    FUNCTION
  413.  Frees all memory space associated with a proof owner structure. If the
  414.  proof owner structure has not been saved, it will be lost. It is safe to
  415.  call this function with a NULL proofowner pointer.
  416.  
  417.    INPUTS
  418.  po - pointer to a struct ProofOwner pointer.
  419.  taglist - pointer to an optional tag list.
  420.  
  421.    RESULT
  422.  
  423.    NOTE
  424.  If you intend to use the PFN_MemoryPool tag, you MUST pass the same
  425.  memory pool pointer (result from CreatePool) to every function called in
  426.  proof.library.
  427.  
  428.    WARNING
  429.  
  430.    BUGS
  431.  
  432.    SEE ALSO
  433.  AllocProofOwnerA()
  434.  
  435. proof.library/GetProofAttrsA                     proof.library/GetProofAttrsA
  436.  
  437.    NAME
  438.  GetProofAttrsA -- Get attributes of a proof
  439.  GetProofAttrs -- Varargs stub for GetProofAttrsA
  440.  
  441.    SYNOPSIS
  442.  result = GetProofAttrsA( pf, taglist )
  443.                          a0  a1
  444.  
  445.  ULONG GetProofAttrsA( struct Proof *pf, struct TagItem *taglist )
  446.  
  447.  result = GetProofAttrs( pf, tag1, ... )
  448.  
  449.  BOOL GetProofAttrs( struct Proof *pf, ULONG tag1, ... )
  450.  
  451.    FUNCTION
  452.  Returns specified information from the proof into the taglist (ti_Data)
  453.  pointers.
  454.  
  455.    INPUTS
  456.  pf      - pointer to a struct Proof.
  457.  taglist - pointer to a tag list, containing the information to retrieve.
  458.  
  459.   Proof header tags
  460.    PFN_ProofPathName - Return the path/filename of this proof's file. (char *
  461. *)
  462.  
  463.    PFN_CustomBuffer - Return a pointer to the custom buffer. (UBYTE **)
  464.  
  465.    PFN_CustomBufferSize - Return the size of the custom buffer. (ULONG *)
  466.  
  467.    PFN_Comment - Return the comment associated with the proof. (char **)
  468.  
  469.    PFN_ProofVersion - Return the version number of the proof. (UBYTE *)
  470.  
  471.    PFN_ProofWidth - Return the width of the proof. (UBYTE *)
  472.  
  473.    PFN_ProofHeight - Return the height of the proof. (UBYTE *)
  474.  
  475.    PFN_ProofQuestionable - Return the questionability of the proof. (BOOL *)
  476.  
  477.    PFN_ProofAspectX - Return the x aspect of the proof. (WORD *)
  478.  
  479.    PFN_ProofAspectY - Return the y aspect of the proof. (WORD *)
  480.  
  481.    PFN_ProofSaveable - Return the savabilty of the proof. (BOOL *)
  482.  
  483.   Proof description tags
  484.    PFN_ImageName - Return the filename of the original image file
  485.             associated with this proof. (char **)
  486.  
  487.    PFN_ImagePath - Return the path of the original image file associated
  488.             with this proof. (char **)
  489.  
  490.    PFN_ImageWidth - Return the width of the image. (ULONG *)
  491.  
  492.    PFN_ImageHeight - Return the height of the image. (ULONG *)
  493.  
  494.    PFN_ImageFileSize - Return the file size of the image. (ULONG *)
  495.  
  496.    PFN_ImageType - Return the type of the image as IMGF_*. (UBYTE *)
  497.  
  498.    PFN_ImageDepth - Return the depth of the image. (UBYTE *)
  499.  
  500.    PFN_ImageFormat - Return the format of the image as IMFB_*. (UBYTE *)
  501.  
  502.    PFN_CategoryOwner - Return the image's category owner. (UBYTE *)
  503.  
  504.    PFN_ImageGroup - Return the group of the image. (UBYTE *)
  505.  
  506.    PFN_ImageCategory - Return the category of the image. (ULONG *)
  507.  
  508.    PFN_TextImageType - Return a pointer to a text descriptor of the
  509.             original image. (char **)
  510.  
  511.    PFN_TextImageDesc - Copies into the supplied pointer a text descriptor
  512.             of the image format. (char *)
  513.  
  514.   Miscellaneous tags
  515.    PFN_UserData - Return the user data field. (ULONG *)
  516.  
  517.  
  518.  New for version 3.0:
  519.    PFN_Buffer - Return a pointer to the proof image buffer. It may contain
  520.                 compressed data, usually jpeg. Use this tag if you want
  521.                 access to the proof body data. (UBYTE **)
  522.  
  523.    PFN_BufferSize - Return the size of the proof image buffer. See warning
  524.                 above about compressed data. (ULONG *)
  525.  
  526.    PFN_ProofBodyType - Return the body type of the proof. (UBYTE *)
  527.  
  528.    RESULT
  529.  err - returns PFERR_NONE if successful, otherwise an error code.
  530.        See proof.h for error code definitions.
  531.  
  532.    WARNING
  533.  
  534.    BUGS
  535.  
  536.    SEE ALSO
  537.  
  538. proof.library/GetProofOwnerAttrsA           proof.library/GetProofOwnerAttrsA
  539.  
  540.    NAME
  541.  GetProofOwnerAttrsA -- Get attributes of a proof owner structure
  542.  GetProofOwnerAttrs -- Varargs stub for GetProofAttrsOwnerA
  543.  
  544.    SYNOPSIS
  545.  result = GetProofOwnerAttrsA( po, taglist )
  546.                                a0  a1
  547.  
  548.  ULONG GetProofOwnerAttrsA( struct ProofOwner *po,
  549.                           struct TagItem *taglist )
  550.  
  551.  result = GetProofOwnerAttrs( po, tag1, ... )
  552.  
  553.  ULONG GetProofAttrs( struct ProofOwner *po, ULONG tag1, ... )
  554.  
  555.    FUNCTION
  556.  Gets specified information in the taglist from proof owner structure.
  557.  
  558.    INPUTS
  559.  po      - pointer to a struct ProofOwner.
  560.  taglist - pointer to a tag list, containing the information to get.
  561.  
  562.       PFN_ProofOwnerID - Retrieves the owner ID of this
  563.           structure. (UBYTE *)
  564.  
  565.       PFN_ProofOwnerIdent - Retrieves the ident string for this
  566.           structure. (char **)
  567.  
  568.    RESULT
  569.  err - returns PFERR_NONE if successful, otherwise an error code.
  570.        See proof.h for error code definitions.
  571.  
  572.    WARNING
  573.  
  574.    BUGS
  575.  
  576.    SEE ALSO
  577.  SetProofOwnerAttrsA()
  578.  
  579. proof.library/GetProofOwnerEntry             proof.library/GetProofOwnerEntry
  580.  
  581.    NAME
  582.  GetProofOwnerEntry -- Get the name of a group/category from a proof owner
  583.  
  584.    SYNOPSIS
  585.  result = GetProofOwnerEntry( po, group, category )
  586.                               a0  d0     d1
  587.  
  588.  char *GetProofOwnerEntry( struct ProofOwner *po, BYTE group,
  589.                          BYTE category )
  590.  
  591.    FUNCTION
  592.  Gets the name of group/category from the specified proof owner.
  593.  
  594.    INPUTS
  595.  po       - Pointer to a struct ProofOwner.
  596.  group    - A group number from 0 to 3.
  597.  category - A category number from 0 to 22 or POWN_GROUP_NAME to get the
  598.             name of the group.
  599.  
  600.    RESULT
  601.  result - returns NULL if no entry defined, or a pointer to a NULL
  602.           terminated string.
  603.  
  604.    WARNING
  605.  
  606.    BUGS
  607.  
  608.    SEE ALSO
  609.  SetProofOwnerEntry()
  610.  
  611. proof.library/IsProofA                                 proof.library/IsProofA
  612.  
  613.    NAME
  614.  IsProofA -- Tests if a file is a proof file
  615.  IsProof -- Varargs stub for IsProofA
  616.  
  617.    SYNOPSIS
  618.  result = IsProofA( pathname, taglist )
  619.                     a0        a1
  620.  
  621.  BOOL IsProofA( char *pathname, struct TagItem *taglist )
  622.  
  623.  result = IsProof( pathname, tag1, ... )
  624.  
  625.  BOOL IsProof( char *pathname, ULONG tag1, ... )
  626.  
  627.    FUNCTION
  628.  Tests if the specified path/filename is a proof file. If the file does
  629.  not exist, FALSE will be returned.
  630.  
  631.    INPUTS
  632.  pathname - pointer to a string containing the complete path and filename
  633.             of the file to test.
  634.  taglist  - pointer to an optional tag list.
  635.  
  636.       PFN_AllowPhotoAlbum - If TRUE, allow photoalbum proofs (jfif format)
  637.           to be read. (Default TRUE)
  638.  
  639.       PFN_TestProofByProtection - If TRUE, use the proof protection bit to
  640.           determine if the file is a proof. This negates the
  641.           PFN_AllowPhotoAlbum tag. (default FALSEs)
  642.  
  643.    RESULT
  644.  result - returns TRUE if pathname is a proof, otherwise FALSE. FALSE
  645.           will also be returned if the file does not exist.
  646.  
  647.    WARNING
  648.  How the file type is determined is private! This may be changed in the
  649.  future. You MUST use the library functions to determine if a file is
  650.  indeed a proof file.
  651.  
  652.    BUGS
  653.  Some file system handlers, notably for CD, do not return the all or any
  654.  protectionbits. To eliminate this as a problem for detecting proofs
  655.  stored on these devices, you can set the environment variable:
  656.  proof.library/Test_Proof_By_Protection to "no". This will disable using
  657.  protection bits for proof detection for all applications using the
  658.  library.
  659.  
  660.    SEE ALSO
  661.  IsProofFromLockA()
  662.  
  663. proof.library/IsProofFromLockA                 proof.library/IsProofFromLockA
  664.  
  665.    NAME
  666.  IsProofFromLockA -- Tests if the lock is a proof file
  667.  IsProofFromLock -- Varargs stub for IsProofFromLockA
  668.  
  669.    SYNOPSIS
  670.  result = IsProofFromLockA( lock, taglist )
  671.                              a0   a1
  672.  
  673.  BOOL IsProofFromLockA( BPTR lock, struct TagItem *taglist )
  674.  
  675.  result = IsProofFromLock( BPTR lock, tag1, ... )
  676.  
  677.  BOOL IsProofFromLock( BPTR lock, ULONG tag1, ... )
  678.  
  679.    FUNCTION
  680.  Tests if the specified lock is a proof file. If the file does not
  681.  exist, FALSE will be returned.
  682.  
  683.    INPUTS
  684.  lock     - lock on the file to test.
  685.  taglist  - pointer to an optional tag list.
  686.  
  687.       PFN_AllowPhotoAlbum - If TRUE allow photoalbum proofs (jfif format)
  688.           to be read. (Default TRUE)
  689.  
  690.       PFN_TestProofByProtection - If TRUE, use the proof protection bit to
  691.           determine if the file is a proof. This negates the
  692.           PFN_AllowPhotoAlbum tag. (default FALSE)
  693.  
  694.    RESULT
  695.  result - returns TRUE if lock is a proof, otherwise FALSE.
  696.  
  697.    WARNING
  698.  How the file type is determined is private! This may be changed in the
  699.  future. You MUST use the library functions to determine if a file is
  700.  indeed a proof file.
  701.  
  702.    BUGS
  703.  Some file system handlers, notably for CD, do not return the all or any
  704.  protectionbits. To eliminate this as a problem for detecting proofs
  705.  stored on these devices, you can set the environment variable:
  706.  proof.library/Test_Proof_By_Protection to "no". This will disable using
  707.  protection bits for proof detection for all applications using the
  708.  library.
  709.  
  710.    SEE ALSO
  711.  IsProofA()
  712.  
  713. proof.library/LoadProofA                             proof.library/LoadProofA
  714.  
  715.    NAME
  716.  LoadProofA -- Load a proof from disk
  717.  LoadProof -- Varargs stub for LoadProofA
  718.  
  719.    SYNOPSIS
  720.  err = LoadProofA( filename, pf, taglist )
  721.                    a0        a1  a2
  722.  
  723.  ULONG LoadProofA( char *filename, struct Proof **pf,
  724.                        struct TagItem *taglist )
  725.  
  726.  err = LoadProofA( filename, pf, tag1, ... )
  727.  
  728.  ULONG LoadProof( char *filename, struct Proof **pf,
  729.                       ULONG tag1, ... )
  730.  
  731.    FUNCTION
  732.  Loads a proof structure from disk into memory using the filename,
  733.  applying the specified tags. Should be matched with a call to
  734.  FreeProof() if call returns successfully.
  735.  Supplying a pointer to a pointer containing NULL (empty pointer to
  736.  pointer) is valid. A proof structure will be allocated for you and
  737.  returned in your pointer (no need to call AllocProof() in this case), if
  738.  an error occurs whilst loading, you are however not required to call
  739.  FreeProof().
  740.  
  741.    INPUTS
  742.  filename - filename of proof to load.
  743.  pf       - pointer to a struct Proof pointer (contents may be NULL).
  744.  taglist  - pointer to an optional tag list.
  745.  
  746.       PFN_AllowPhotoAlbum - If TRUE allow photoalbum proofs (jfif format)
  747.           to be read. (Default TRUE)
  748.  
  749.    RESULT
  750.  err - returns PFERR_NONE if successful, otherwise an error code.
  751.        See proof.h for error code definitions.
  752.  
  753.    WARNING
  754.  If you are calling this function in a loop, be sure to NULL the passed in
  755.  proof pointer every time the function is called, otherwise you will
  756.  overwrite the previously allocated proof.
  757.  
  758.    BUGS
  759.  
  760.    SEE ALSO
  761.  FreeProof(), LoadProofFromLockA(), LoadProofFromBPTRA()
  762.  
  763. proof.library/LoadProofFromBPTRA             proof.library/LoadProofFromBPTRA
  764.  
  765.    NAME
  766.  LoadProofFromBPTRA -- Load a proof from an open BPTR file pointer.
  767.  LoadProofFromBPTR -- Varargs stub for LoadProofFromBPTRA
  768.  
  769.    SYNOPSIS
  770.  err = LoadProofFromBPTRA( fp, pf, taglist )
  771.                            a0        a1  a2
  772.  
  773.  ULONG LoadProofBPTRA( BPTR fp, struct Proof **pf,
  774.                        struct TagItem *taglist )
  775.  
  776.  err = LoadProofFromBPTRA( fp, pf, tag1, ... )
  777.  
  778.  ULONG LoadProofFromBPTR( BPTR fp, struct Proof **pf, ULONG tag1, ... )
  779.  
  780.    FUNCTION
  781.  Loads a proof structure from disk into memory using the already open AND
  782.  positioned AmigaDOS file BPTR pointer, applying the specified tags.
  783.  Should be matched with a call to FreeProof() if call returns
  784.  successfully. Supplying a pointer to a pointer containing NULL (empty
  785.  pointer to pointer) is valid. A proof structure will be allocated for
  786.  you and returned in your pointer (no need to call AllocProof() in this
  787.  case), if an error occurs whilst loading, you are however not required
  788.  to call FreeProof().
  789.  
  790.    INPUTS
  791.  BPTR - already opened AND positioned AmigaDOS BPTR pointer of proof to
  792.         load.
  793.  pf       - pointer to a struct Proof pointer (contents may be NULL).
  794.  taglist  - pointer to an optional tag list.
  795.  
  796.       PFN_AllowPhotoAlbum - If TRUE allow photoalbum proofs (jfif format)
  797.           to be read. (Default TRUE)
  798.  
  799.    RESULT
  800.  err - returns PFERR_NONE if successful, otherwise an error code.
  801.        See proof.h for error code definitions.
  802.  
  803.    WARNING
  804.  If you are calling this function in a loop, be sure to NULL the passed in
  805.  proof pointer every time the function is called, otherwise you will
  806.  overwrite the previously allocated proof.
  807.  
  808.  Remember to pass in an OPEN and POSITIONED BPTR to this function.
  809.  
  810.    BUGS
  811.  
  812.    SEE ALSO
  813.  FreeProof(), LoadProofA(), LoadProofFromLockA()
  814.  
  815. proof.library/LoadProofFromLockA             proof.library/LoadProofFromLockA
  816.  
  817.    NAME
  818.  LoadProofFromLockA -- Load a proof from disk
  819.  LoadProofFromLock -- Varargs stub for LoadProofFromLockA
  820.  
  821.    SYNOPSIS
  822.  err = LoadProofFromLockA( lock, pf, taglist )
  823.                            a0    a1  a2
  824.  
  825.  ULONG LoadProofFromLockA( BPTR lock, struct Proof **pf,
  826.                                struct TagItem *taglist )
  827.  
  828.  err = LoadProofFromLockA( lock, pf, tag1, ... )
  829.  
  830.  ULONG LoadProofFromLock( BPTR lock, struct Proof **pf,
  831.                               ULONG tag1, ... )
  832.  
  833.    FUNCTION
  834.  Loads a proof structure from disk into memory using the lock. Should be
  835.  matched with a call to FreeProof().
  836.  Supplying a NULL pointer is valid. A proof structure will be allocated
  837.  for you and returned in your pointer - if an error occurs whilst loading,
  838.  you are however not required to call FreeProof(). Don't forget to
  839.  free the supplied lock after calling this function.
  840.  
  841.    INPUTS
  842.  lock    - lock on proof to load.
  843.  pf      - pointer to a struct Proof pointer (contents may be NULL).
  844.  taglist - pointer to an optional tag list.
  845.  
  846.       PFN_AllowPhotoAlbum - If TRUE allow photoalbum proofs (jfif format)
  847.           to be read. (Default TRUE)
  848.  
  849.    RESULT
  850.  err - returns PFERR_NONE if successful, otherwise an error code.
  851.        See proof.h for error code definitions.
  852.  
  853.    NOTE
  854.  If you intend to use the PFN_MemoryPool tag, you MUST pass the same
  855.  memory pool pointer (result from CreatePool) to every function called in
  856.  proof.library.
  857.  
  858.    WARNING
  859.  
  860.    BUGS
  861.  
  862.    SEE ALSO
  863.  FreeProof(), LoadProofA(), LoadProofFromBPTRA()
  864.  
  865. proof.library/LoadProofOwnerA                   proof.library/LoadProofOwnerA
  866.  
  867.    NAME
  868.  LoadProofOwnerA -- Load a proof owner from disk
  869.  LoadProofOwner -- Varargs stub for LoadProofOwnerA
  870.  
  871.    SYNOPSIS
  872.  err = LoadProofOwnerA( filename, po, taglist )
  873.                         a0        a1  a2
  874.  
  875.  ULONG LoadProofOwnerA( char *filename, struct ProofOwner **po,
  876.                       struct TagItem *taglist )
  877.  
  878.  err = LoadProofOwnerA( filename, po, tag1, ... )
  879.  
  880.  ULONG LoadProofOwner( char *filename, struct ProofOwner **po,
  881.                       ULONG tag1, ... )
  882.  
  883.    FUNCTION
  884.  Loads a proof owner file into memory, using the filename and applying the
  885.  specified tags. Should be matched with a call to FreeProofOwner() if call
  886.  returns successfully.
  887.  Supplying a pointer to a pointer containing NULL (empty pointer to
  888.  pointer) is valid. A proof owner structure will be allocated for you and
  889.  returned in your pointer (no need to call AllocProofOwner() in this
  890.  case), if an error occurs whilst loading, you are however not required
  891.  to call FreeProofOwner().
  892.  
  893.    INPUTS
  894.  filename - filename of proof owner to load.
  895.  pf       - pointer to a struct ProofOwner pointer (contents may be NULL).
  896.  taglist  - pointer to an optional tag list.
  897.  
  898.       PFN_MemoryPool - A memory pool pointer to allocate memory for the
  899.           nodes.
  900.  
  901.    RESULT
  902.  err - returns PFERR_NONE if successful, otherwise an error code.
  903.        See proof.h for error code definitions.
  904.  
  905.    NOTE
  906.  If you intend to use the PFN_MemoryPool tag, you MUST pass the same
  907.  memory pool pointer (result from CreatePool) to every function called in
  908.  proof.library.
  909.  
  910.    WARNING
  911.  If you are calling this function in a loop, be sure to NULL the passed in
  912.  proofowner pointer every time the function is called, otherwise you will
  913.  overwrite the previously allocated proofowner.
  914.  
  915.    BUGS
  916.  
  917.    SEE ALSO
  918.  FreeProofOwner()
  919.  
  920. proof.library/SaveProofA                             proof.library/SaveProofA
  921.  
  922.    NAME
  923.  SaveProofA -- Save a proof to disk
  924.  SaveProof -- Varargs stub for SaveProofA
  925.  
  926.    SYNOPSIS
  927.  err = SaveProofA( pf, taglist )
  928.                    a0  a1
  929.  
  930.  ULONG SaveProofA( struct Proof **pf, struct TagItem *taglist )
  931.  
  932.  err = SaveProofA( pf, tag1, ... )
  933.  
  934.  ULONG SaveProof( struct Proof **pf, ULONG tag1, ... )
  935.  
  936.    FUNCTION
  937.  Save a proof structure to disk, using the specified tags.
  938.  
  939.    INPUTS
  940.  pf      - pointer to a struct Proof pointer.
  941.  taglist - pointer to an optional tag list. (For a complete list of
  942.            available tags, see the SetProofAttrsA() function).
  943.  
  944.       PFN_ProofPath - Specifies the path to save the generated proof file.
  945.           Using this tag, implies that the proof is a linked proof.
  946.           Appropriate information will be saved in the proof file to allow
  947.           relocation of the proof fiel with respect to the original image.
  948.           If unspecified, the proof is saved into the images' directory
  949.           with a slightly different filename. No files will be overwritten
  950.           by this process!
  951.  
  952.       PFN_CustomBuffer - Specifies a pointer to a custom buffer to save
  953.           (implies PFN_CustomBufferSize).
  954.  
  955.       PFN_CustomBufferSize - Specifies the size in bytes of the custom
  956.           buffer to save (implies PFN_CustomBuffer).
  957.  
  958.    RESULT
  959.  err - returns PFERR_NONE if successful, otherwise an error code.
  960.        See proof.h for error code definitions.
  961.  
  962.    WARNING
  963.  
  964.    BUGS
  965.  
  966.    SEE ALSO
  967.  FreeProof()
  968.  
  969. proof.library/SaveProofOwnerA                   proof.library/SaveProofOwnerA
  970.  
  971.    NAME
  972.  SaveProofOwnerA -- Save a proof owner structure to disk
  973.  SaveProofOwner -- Varargs stub for SaveProofOwnerA
  974.  
  975.    SYNOPSIS
  976.  err = SaveProofOwnerA( po, taglist )
  977.                         a0  a1
  978.  
  979.  ULONG SaveProofOwnerA( struct ProofOwner *po, struct TagItem *taglist )
  980.  
  981.  err = SaveProofOwnerA( po, tag1, ... )
  982.  
  983.  ULONG SaveProofOwner( struct ProofOwner *po, ULONG tag1, ... )
  984.  
  985.    FUNCTION
  986.  Save a proof owner structure to disk, using the specified tags.
  987.  
  988.    INPUTS
  989.  po      - pointer to a struct ProofOwner.
  990.  taglist - pointer to an optional tag list.
  991.  
  992.       PFN_ProofOwnerName - Specifies the path/filename to save the proof
  993.           owner into. No files will be overwritten by this process!
  994.  
  995.    RESULT
  996.  err - returns PFERR_NONE if successful, otherwise an error code.
  997.        See proof.h for error code definitions.
  998.  
  999.    WARNING
  1000.  
  1001.    BUGS
  1002.  
  1003.    SEE ALSO
  1004.  
  1005. proof.library/SetProofAttrsA                     proof.library/SetProofAttrsA
  1006.  
  1007.    NAME
  1008.  SetProofAttrsA -- Set attributes of a proof
  1009.  SetProofAttrs -- Varargs stub for SetProofAttrsA
  1010.  
  1011.    SYNOPSIS
  1012.  result = SetProofAttrsA( pf, taglist )
  1013.                          a0  a1
  1014.  
  1015.  ULONG SetProofAttrsA( struct Proof *pf, struct TagItem *taglist )
  1016.  
  1017.  result = SetProofAttrs( pf, tag1, ... )
  1018.  
  1019.  ULONG SetProofAttrs( struct Proof *pf, ULONG tag1, ... )
  1020.  
  1021.    FUNCTION
  1022.  Sets specified information from the taglist into the proof. Will also
  1023.  resave the proof if it has already been saved.
  1024.  
  1025.    INPUTS
  1026.  pf      - pointer to a struct Proof.
  1027.  taglist - pointer to a tag list, containing the information to set.
  1028.  
  1029.    Header specific tags:
  1030.       PFN_ProofWidth - Specifies the width in pixels of the Proof
  1031.           image. Values range from 0 to 255. (UBYTE)
  1032.  
  1033.       PFN_ProofHeight - Specifies the Height in pixels of the Proof
  1034.           image. Values range from 0 to 255. (UBYTE)
  1035.  
  1036.       PFN_ProofAspectX - Specifies the X aspect ratio of the Proof image.
  1037.           The format is the same as in a DisplayInfo structure. (WORD)
  1038.  
  1039.       PFN_ProofAspectY - Specifies the Y aspect ratio of the Proof image.
  1040.           The format is the same as in a DisplayInfo structure. (WORD)
  1041.  
  1042.       PFN_ProofQuestionable - Specifies that image content of the
  1043.           Proof is of a dubious nature. Use this in a browser to
  1044.           determine which thumbnails to show at any given time (BOOL)
  1045.  
  1046.       PFN_ProofBodyType - Specifies the format of the proof image data.
  1047.           See proof.h for proof format definitions.
  1048.  
  1049.       PFN_ProofBodyFlags - Additional flags for proof body data.
  1050.           See proof.h for flag definitions.
  1051.  
  1052.    Description specific tags:
  1053.       PFN_ImageWidth - Specifies the width in pixels of the original
  1054.           image. Values range from 1 to 2147483647. (ULONG)
  1055.  
  1056.       PFN_ImageHeight - Specifies the height in pixels of the original
  1057.           image. Values range from 1 to 2147483647. (ULONG)
  1058.  
  1059.       PFN_ImageFileSize - Specifies the byte count of the original image
  1060.           (AmigaDOS file size). Values range from 1 to 2147483647. (ULONG)
  1061.  
  1062.       PFN_ImageFormat - Specifies the file format of the original image
  1063.           (eg JPEG, GIF etc). Valid values are defined in proof.h
  1064.  
  1065.       PFN_ImageDepth - Specifies the depth of the original image. See
  1066.           proof.h for the use of this value. Values range from 0 to 255.
  1067.           (UBYTE)
  1068.  
  1069.       PFN_CategoryOwner - Specifies the id of the owners category file.
  1070.           Values range from 0 to 255. (UBYTE)
  1071.  
  1072.       PFN_ImageGroup - Specifies the group this image belongs to. Values
  1073.           range from 0 to 3. (UBYTE)
  1074.  
  1075.       PFN_ImageCategory - Specifies the category this image belongs to.
  1076.           Values are bitwise for 22 bits of a ULONG. This allows images to
  1077.           be categorized into more than one category. (ULONG)
  1078.  
  1079.       PFN_ImagePlanar - Specifies that the original image is in a planar
  1080.           format. (BOOL)
  1081.  
  1082.       PFN_ImageChunky - Specifies that the original image is in a chunky
  1083.           format. (BOOL)
  1084.  
  1085.       PFN_ImageHAM6 - Specifies that the original image is in the HAM6
  1086.           format. (BOOL)
  1087.  
  1088.       PFN_ImageHalfBrite - Specifies that the original image is in the
  1089.           halfbrite format. (BOOL)
  1090.  
  1091.       PFN_ImageHAM8 - Specifies that the original image is in the HAM8
  1092.           format. (BOOL)
  1093.  
  1094.       PFN_Image24Bit - Specifies that the original image is a 24 bit
  1095.           format. (BOOL)
  1096.  
  1097.       PFN_ImageFormat - Specifies bulk flags descriptions (see proof.h)
  1098.  
  1099.       PFN_ImageComment - Specifies a comment string (unlimited length) to
  1100.           be saved along with the proof. (char *)
  1101.  
  1102.    Save specific tags:
  1103.       PFN_ImageName - Specifies the file name (excluding the path) of the
  1104.           original image. If you use this tag, you should also supply a
  1105.           PFN_ImagePath tag. (char *)
  1106.  
  1107.       PFN_ImagePath - Specifies the path of the original image. If you use
  1108.           this tag, you should also supply a PFN_ImageName tag. (char *)
  1109.  
  1110.       PFN_ImagePathName - Specifies the path and filename of the original
  1111.           image. This is mutually exclusive with PFN_ImageName and
  1112.           PFN_ImagePath tags. (char *)
  1113.  
  1114.       PFN_DescriptionChunk - Specifies if a TDSC chunk should be written to
  1115.           the proof file (default TRUE).
  1116.  
  1117.   Miscellaneous tags
  1118.    PFN_UserData - Sets the user data field. (ULONG)
  1119.  
  1120.  New for version 2.2
  1121.       PFN_ProofPathName - Specifies the path and filename of this proof.
  1122.           Once you set this, you *MUST* GetProofAttrs() the
  1123.           PFN_ProofPathName if you were using that attribute before. Also
  1124.           you can override the automatic proof naming system and location
  1125.           of proofs with this tag. Be careful and be warned. This tag is
  1126.           not useful under normal circumstances. (char *)
  1127.  
  1128.  New for version 3.0:
  1129.    PFN_BufferSize - Sets the size of the PFNB_Buffer. You MUST know what you 
  1130. are
  1131.                     doing if you use this tag. This tag MUST be supplied BEFO
  1132. RE
  1133.                     PFN_Buffer. (ULONG)
  1134.  
  1135.    PFN_Buffer - Set the proof image buffer data. You MUST know what you are d
  1136. oing
  1137.                 if you use this tag. The body data may be compressed, dependi
  1138. ng
  1139.                 on the value of PFN_ProofBodyType. The data is copied into a 
  1140. new
  1141.                 buffer and your memory is left for you to dispose of. (UBYTE 
  1142. *)
  1143.  
  1144.    PFN_ProofBodyType - Sets the body type of the proof as defined in proof.h.
  1145.  (UBYTE *)
  1146.  
  1147.    RESULT
  1148.  err - returns PFERR_NONE if successful, otherwise an error code.
  1149.        See proof.h for error code definitions.
  1150.  
  1151.    WARNING
  1152.  
  1153.    BUGS
  1154.  
  1155.    SEE ALSO
  1156.  
  1157. proof.library/SetProofOwnerAttrsA           proof.library/SetProofOwnerAttrsA
  1158.  
  1159.    NAME
  1160.  SetProofOwnerAttrsA -- Set attributes of a proof owner structure
  1161.  SetProofOwnerAttrs -- Varargs stub for SetProofAttrsOwnerA
  1162.  
  1163.    SYNOPSIS
  1164.  result = SetProofOwnerAttrsA( po, taglist )
  1165.                                a0  a1
  1166.  
  1167.  ULONG SetProofOwnerAttrsA( struct ProofOwner *po,
  1168.                           struct TagItem *taglist )
  1169.  
  1170.  result = SetProofOwnerAttrs( po, tag1, ... )
  1171.  
  1172.  ULONG SetProofAttrs( struct ProofOwner *po, ULONG tag1, ... )
  1173.  
  1174.    FUNCTION
  1175.  Sets specified information from the taglist into the proof owner.
  1176.  
  1177.    INPUTS
  1178.  po      - pointer to a struct ProofOwner.
  1179.  taglist - pointer to a tag list, containing the information to set.
  1180.  
  1181.       PFN_ProofOwnerID - Specifies the owner ID of this structure. Values
  1182.           range from 0 to 255. (UBYTE)
  1183.  
  1184.       PFN_ProofOwnerIdent - Specifies the name of the owner of this
  1185.           structure. Setting to NULL, removes the ident string. (char *)
  1186.  
  1187.    RESULT
  1188.  err - returns PFERR_NONE if successful, otherwise an error code.
  1189.        See proof.h for error code definitions.
  1190.  
  1191.    WARNING
  1192.  
  1193.    BUGS
  1194.  
  1195.    SEE ALSO
  1196.  GetProofOwnerAttrsA()
  1197.  
  1198. proof.library/SetProofOwnerEntry             proof.library/SetProofOwnerEntry
  1199.  
  1200.    NAME
  1201.  SetProofOwnerEntry -- Set the name of a group/category in a proof owner
  1202.  
  1203.    SYNOPSIS
  1204.  result = SetProofOwnerEntry( po, group, category, name )
  1205.                               a0  d0     d1        d2
  1206.  
  1207.  ULONG SetProofOwnerEntry( struct ProofOwner *po, BYTE group,
  1208.                          BYTE category, char *name )
  1209.  
  1210.    FUNCTION
  1211.  Sets the name of group/category in the specified proof owner. You can
  1212.  remove an entry by setting it to NULL. You can set the groups name, by
  1213.  passing POWN_GROUP_NAME as the category.
  1214.  
  1215.    INPUTS
  1216.  po       - Pointer to a struct ProofOwner.
  1217.  group    - A group number from 0 to 3.
  1218.  category - A category number from 0 to 22 or POWN_GROUP_NAME to specify
  1219.             the name of the group.
  1220.  name     - The name to set the entry to, or NULL to remove the entry.
  1221.  
  1222.    RESULT
  1223.  err - returns PFERR_NONE if successful, otherwise an error code.
  1224.        See proof.h for error code definitions.
  1225.  
  1226.    WARNING
  1227.  
  1228.    BUGS
  1229.  
  1230.    SEE ALSO
  1231.  GetProofOwnerEntry()
  1232.  
  1233. proof.library/ValidProofDesc                     proof.library/ValidProofDesc
  1234.  
  1235.    NAME
  1236.  ValidProofDesc -- Establish if a proof has a description
  1237.  
  1238.    SYNOPSIS
  1239.  result = ValidProofDesc( pf )
  1240.                           a0
  1241.  
  1242.  BOOL ValidProofDesc( struct proof *pf )
  1243.  
  1244.    FUNCTION
  1245.  Establishes if a proof contains an image descriptor.
  1246.  
  1247.    INPUTS
  1248.  pf - pointer to a struct Proof.
  1249.  
  1250.    RESULT
  1251.  err - returns TRUE if the proof contains a valid description or FALSE if
  1252.        not.
  1253.  
  1254.    WARNING
  1255.  
  1256.    BUGS
  1257.  
  1258.    SEE ALSO
  1259.  
  1260.